package com.ruoyi.reportsnhnt.domain.vo;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.report_tg.domain.vo.ExcelGeneralVo;
import com.ruoyi.reportsnhnt.domain.ReportSnhntKsxsyBaDetail;
import com.ruoyi.reportsnhnt.domain.ReportSnhntKsxsysjBaDetail;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;


/**
 * 水泥混凝土抗渗性试验检测记录视图对象 report_snhnt_ksxsy_bs_info
 *
 * @author zxs
 * @date 2024-06-21
 */
@Data
@ExcelIgnoreUnannotated
public class ReportSnhntKsxsyBsInfoVo extends ExcelGeneralVo {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long excelId;

    /**
     * 第几页
     */
    @ExcelProperty(value = "第几页")
    private Long page;

    /**
     * 共几页
     */
    @ExcelProperty(value = "共几页")
    private Long totalPage;

    /**
     * 检测单位名称
     */
    @ExcelProperty(value = "检测单位名称")
    private String jiancdwmc;

    /**
     * 记录编号
     */
    @ExcelProperty(value = "记录编号")
    private String jilbh;

    /**
     * 工程名称
     */
    @ExcelProperty(value = "工程名称")
    private String gongcmc;

    /**
     * 工程部位/用途
     */
    @ExcelProperty(value = "工程部位/用途")
    private String gongcbwyt;

    /**
     * 样品信息
     */
    @ExcelProperty(value = "样品信息")
    private String yangpxx;

    /**
     * 样品名称
     */
    @ExcelProperty(value = "样品名称")
    private String yangpmc;

    /**
     * 样品编号
     */
    @ExcelProperty(value = "样品编号")
    private String yangpbh;

    /**
     * 样品数量
     */
    @ExcelProperty(value = "样品数量")
    private String yangpsl;

    /**
     * 样品状态
     */
    @ExcelProperty(value = "样品状态")
    private String yangpzt;

    /**
     * 来样时间
     */
    @ExcelProperty(value = "来样时间")
    private Date laiysj;

    /**
     * 试验检测日期
     */
    @ExcelProperty(value = "试验检测日期")
    private String shiyjcrq;

    /**
     * 试验条件
     */
    @ExcelProperty(value = "试验条件")
    private String shiytj;

    /**
     * 温度
     */
    @ExcelProperty(value = "温度")
    private String wend;

    /**
     * 相对湿度
     */
    @ExcelProperty(value = "相对湿度")
    private String xiangdsd;

    /**
     * 检测依据
     */
    @ExcelProperty(value = "检测依据")
    private String jiancyj;

    /**
     * 判定依据
     */
    @ExcelProperty(value = "判定依据")
    private String pandyj;

    /**
     * 主要仪器设备名称及编号
     */
    @ExcelProperty(value = "主要仪器设备名称及编号")
    private String zhuyyqsbmcjbh;

    /**
     * 设备id(逗号隔开)
     */
    @ExcelProperty(value = "设备id(逗号隔开)")
    private String shebIds;

    /**
     * 混凝土配合比
     */
    @ExcelProperty(value = "混凝土配合比")
    private String hunntphb;

    /**
     * 设计抗渗等级
     */
    @ExcelProperty(value = "设计抗渗等级")
    private String shejksdj;

    /**
     * 混凝土设计强度等级
     */
    @ExcelProperty(value = "混凝土设计强度等级")
    private String hunntsjqddj;

    /**
     * 成型日期
     */
    @DateTimeFormat(pattern = "yyyy/MM/dd")
    @JsonFormat(pattern = "yyyy/MM/dd")
    @ExcelProperty(value = "成型日期")
    private Date chengxrq;

    /**
     * 龄期（d）
     */
    @ExcelProperty(value = "龄期", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "d=")
    private String lingq;

    /**
     * 混凝土种类
     */
    @ExcelProperty(value = "混凝土种类")
    private String hunntzl;

    /**
     * 养护条件
     */
    @ExcelProperty(value = "养护条件")
    private String yanghtj;

    /**
     * 检测停止时的水压（MPa）
     */
    @ExcelProperty(value = "检测停止时的水压", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "M=Pa")
    private String jianctzsdsy;

    /**
     * 检测停止时渗水试件的个数
     */
    @ExcelProperty(value = "检测停止时渗水试件的个数")
    private Long jianctzssssjdgs;

    /**
     * 实测抗渗等级
     */
    @ExcelProperty(value = "实测抗渗等级")
    private String shicksdj;

    /**
     * 附加声明
     */
    @ExcelProperty(value = "附加声明")
    private String fujsm;

    /**
     * 检测
     */
    @ExcelProperty(value = "检测")
    private String jianc;

    /**
     * 记录
     */
    @ExcelProperty(value = "记录")
    private String jil;

    /**
     * 复核
     */
    @ExcelProperty(value = "复核")
    private String fuh;
    //试件尺寸
    private String shijcc;
    /**
     * 日期
     */
    @ExcelProperty(value = "日期")
    private Date riq;

    /**
     * 含水率平均值
     */
    @ExcelProperty(value = "含水率平均值")
    private BigDecimal hanslpjz;
    //试件子表
    private List<ReportSnhntKsxsysjBaDetail> sjVos;

    private List<ReportSnhntKsxsyBaDetail> detailVos;

    public ReportSnhntKsxsyBsInfoVo() {
        detailVos = new ArrayList<>();
        for (int j = 0; j < 10; j++) {
            ReportSnhntKsxsyBaDetail baDetail = new ReportSnhntKsxsyBaDetail();
            detailVos.add(baDetail);
        }
    }
}
